package com.tedu.weibo.common.intercepor;


import com.tedu.weibo.pojo.entity.User;
import org.springframework.web.servlet.HandlerInterceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 *  登录检查拦截器
 *  让springMVC框架管理 认可该拦截器
 *  拦截器实现HandlerInterceptor接口
 */
public class CheckLoginInterceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        /*
           preHandle 是在进入 Controller 方法执行前执行
           因此可以在这里进行拦截，例如判断用户是否登录，未登录则重定向到登录页面
         */
        HttpSession session=request.getSession();// 获取session
        // 提供session获取用户信息
        User user=(User) session.getAttribute("user");
        if(user==null){
            // 未登录，重定向到登录页面
            response.sendRedirect("/index.html");
            return false;
        }else {
            return true;
        }
        //return HandlerInterceptor.super.preHandle(request, response, handler);
    }
}
